#ifndef YGG_MOUSE_HPP
#define YGG_MOUSE_HPP

#include "PhoenixInitializer.hpp"

namespace phx{ struct CallbackInterface; }

namespace ygg
{

class Mouse
{
public:
	enum Button : unsigned char
	{
		LEFT,
		RIGHT,
		MIDDLE,
		SCROLL_UP,
		SCROLL_DOWN
	};

	enum ButtonState : unsigned char
	{
		PRESS,
		RELEASE
	};

	friend struct phx::CallbackInterface;
private:
	static Button			getButtonFromGLFW(int button);
	static ButtonState		getStateFromGLFW(int action);
};

}

#endif